package com.aldobucchi.x.flash.events.subscriber
{
	
	
	/**
	 * 
	 * 
	 * Abstract class that serves as base for all the subscription steps ( including delegates ).
	 * 
	 * Lifecycle is as follows:
	 * 
	 * - upon construction, all initial event listeners or child steps must be created
	 * - if the step is streaming ( listening to collection changes ) then streaming must also start at construction time
	 * - kill() marks the termination of the lifecycle ( no resurrection ).
	 * -- child steps must be killed
	 * -- references and event listeners must be removed 
	 * 
	 * 
	 * @author aldo.bucchi@gmail.com
	 * 
	 */	
	internal class AbstractEventSubscriptionStep
	{
		
		
		
		protected var target:Object;
		
		
		protected var remainingSteps:Array;		
		
		
		
		
		public function AbstractEventSubscriptionStep( target:Object, remainingSteps:Array )
		{
			this.target = target;
			this.remainingSteps = remainingSteps;
		}
		


		internal function kill( ):void
		{

		
		}

				
	}

}